package org.example.forum.Interceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import org.example.forum.confing.AppConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
@Component
public class LoginInterceptor implements HandlerInterceptor {
    //这个是yml文件中自定义的url
    @Value("${bit-forum.login.url}")
    private String defaultUrl;
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession(false);
        if(session!=null && session.getAttribute(AppConfig.USER_SESSION)!=null){
            return true;
        }
        if(!defaultUrl.startsWith("/")){
            StringBuffer stringBuffer=new StringBuffer();
            stringBuffer.append("/");
            stringBuffer.append(defaultUrl);
            //如果不成功跳转到登录界面
            response.sendRedirect(stringBuffer.toString());
        }
        return false;
    }
}
